//package com.tsinghuabigdata.edu.ddmath.MVPModel;
//
//import android.os.AsyncTask;
//
//import com.tsinghuabigdata.edu.zxapp.teacher.VolleryRequest.AppAsyncTask;
//import com.tsinghuabigdata.edu.zxapp.teacher.VolleryRequest.AsyncTaskCancel;
//import com.tsinghuabigdata.edu.zxapp.teacher.VolleryRequest.HttpResponse;
//import com.tsinghuabigdata.edu.zxapp.teacher.bean.IsExistNewMsgResult;
//import com.tsinghuabigdata.edu.zxapp.teacher.bean.MessageInfo;
//import com.tsinghuabigdata.edu.zxapp.teacher.bean.MessageRet;
//import com.tsinghuabigdata.edu.zxapp.teacher.bean.ResultInfo;
//import com.tsinghuabigdata.edu.zxapp.teacher.requestHandler.MessageService;
//import com.tsinghuabigdata.edu.zxapp.teacher.requestHandler.requestImpl.MessageServiceImpl;
//
//import java.util.ArrayList;
//import java.util.List;
//
///**
// * Created by 28205 on 2016/9/2.
// */
//public class MessageModel {
//    private static final String TAG = "MessageCenterModel";
//
//    private MessageService mMessageService = new MessageServiceImpl();
//
//    private List<AsyncTask> runningTasks = new ArrayList<AsyncTask>();
//
//    private String[] rowkeys;
//
//    /**
//     * 获取用户消息
//     */
//    class QueryUserMsgTask extends AppAsyncTask<String, Void, MessageRet> {
//
//        private RequestListener reqListener;
//
//        public QueryUserMsgTask(RequestListener requestListener) {
//            reqListener = requestListener;
//        }
//
//        @Override
//        protected MessageRet doExecute(String... params) throws Exception {
//            String accessToken = params[0];
//            String teacherId = params[1];
//            String accountId = params[2];
//            String msgColumn = params[3];
//            int pageNum = Integer.parseInt(params[4]);
//            int pageSize = Integer.parseInt(params[5]);
//            return mMessageService.queryUserMsg(accessToken, teacherId, accountId, msgColumn, pageNum, pageSize);
//        }
//
//        @Override
//        protected void onResult(MessageRet resultInfo) {
//            reqListener.onSuccess(resultInfo);
//        }
//
//        @Override
//        protected void onFailure(HttpResponse<MessageRet> response, Exception ex) {
//            reqListener.onFail(response, ex);
//        }
//    }
//
//    /**
//     * 获取用户消息详情
//     */
//    class QueryUserMsgInfoTask extends AppAsyncTask<String, Void, MessageInfo> {
//
//        private RequestListener reqListener;
//
//        public QueryUserMsgInfoTask(RequestListener requestListener) {
//            reqListener = requestListener;
//        }
//
//        @Override
//        protected MessageInfo doExecute(String... params) throws Exception {
//            String accessToken = params[0];
//            String accountId = params[1];
//            String rowkey = params[2];
//            return mMessageService.queryUserMsgInfo(accessToken, accountId, rowkey);
//        }
//
//        @Override
//        protected void onResult(MessageInfo resultInfo) {
//            reqListener.onSuccess(resultInfo);
//        }
//
//        @Override
//        protected void onFailure(HttpResponse<MessageInfo> response, Exception ex) {
//            reqListener.onFail(response, ex);
//        }
//    }
//
//    /**
//     * 清除用户消息
//     */
//    class CleanUserMsgTask extends AppAsyncTask<String, Void, ResultInfo> {
//
//        private RequestListener reqListener;
//
//        public CleanUserMsgTask(RequestListener requestListener) {
//            reqListener = requestListener;
//        }
//
//        @Override
//        protected ResultInfo doExecute(String... params) throws Exception {
//            String accessToken = params[0];
//            String accountId = params[1];
//            return mMessageService.cleanUserMsg(accessToken, accountId, rowkeys);
//        }
//
//        @Override
//        protected void onResult(ResultInfo resultInfo) {
//            reqListener.onSuccess(resultInfo);
//        }
//
//        @Override
//        protected void onFailure(HttpResponse<ResultInfo> response, Exception ex) {
//            reqListener.onFail(response, ex);
//        }
//    }
//    /**
//     * 清除用户消息
//     */
//    class CleanUserMsgAllTask extends AppAsyncTask<String, Void, ResultInfo> {
//
//        private RequestListener reqListener;
//
//        public CleanUserMsgAllTask(RequestListener requestListener) {
//            reqListener = requestListener;
//        }
//
//        @Override
//        protected ResultInfo doExecute(String... params) throws Exception {
//            String accessToken = params[0];
//            String teacherId = params[1];
//            String column = params[2];
//            return mMessageService.cleanUserMsgAll(accessToken, teacherId, column);
//        }
//
//        @Override
//        protected void onResult(ResultInfo resultInfo) {
//            reqListener.onSuccess(resultInfo);
//        }
//
//        @Override
//        protected void onFailure(HttpResponse<ResultInfo> response, Exception ex) {
//            reqListener.onFail(response, ex);
//        }
//    }
//
//    /**
//     * 获取首页消息
//     */
//    class QueryHomePageMsgTask extends AppAsyncTask<String, Void, List<MessageInfo>> {
//
//        private RequestListener reqListener;
//
//        public QueryHomePageMsgTask(RequestListener requestListener) {
//            reqListener = requestListener;
//        }
//
//        @Override
//        protected List<MessageInfo> doExecute(String... params) throws Exception {
//            String accessToken = params[0];
//            String accountId = params[1];
//            return mMessageService.queryHomePageMsg(accessToken, accountId);
//        }
//
//        @Override
//        protected void onResult(List<MessageInfo> resultInfo) {
//            reqListener.onSuccess((List<MessageInfo>) resultInfo);
//        }
//
//        @Override
//        protected void onFailure(HttpResponse<List<MessageInfo>> response, Exception ex) {
//            reqListener.onFail(response, ex);
//        }
//    }
//
//    /**
//     * 查看用户是否有新消息
//     */
//    class QueryIsexistNewUserMsgTask extends AppAsyncTask<String, Void, IsExistNewMsgResult> {
//
//        private RequestListener reqListener;
//
//        public QueryIsexistNewUserMsgTask(RequestListener requestListener) {
//            reqListener = requestListener;
//        }
//
//        @Override
//        protected IsExistNewMsgResult doExecute(String... params) throws Exception {
//            String accessToken = params[0];
//            String accountId = params[1];
//            String msgColumn = params[2];
//            return mMessageService.queryIsexistNewUserMsg(accessToken, accountId, msgColumn);
//        }
//
//        @Override
//        protected void onResult(IsExistNewMsgResult resultInfo) {
//            reqListener.onSuccess(resultInfo);
//        }
//
//        @Override
//        protected void onFailure(HttpResponse<IsExistNewMsgResult> response, Exception ex) {
//            reqListener.onFail(response, ex);
//        }
//    }
//
//    public void queryHomeMsg(String accessToken, String accountId, RequestListener requestListener) {
//        QueryHomePageMsgTask queryHomePageMsgTask = new QueryHomePageMsgTask(requestListener);
//        queryHomePageMsgTask.execute(accessToken, accountId);
//        runningTasks.add(queryHomePageMsgTask);
//    }
//
//    public void queryUserMsg(String accessToken, String teacherId, String accountId, String msgColumn,
//                             int pageNum, int pageSize, RequestListener requestListener) {
//        QueryUserMsgTask queryUserMsgTask = new QueryUserMsgTask(requestListener);
//        queryUserMsgTask.execute(accessToken, teacherId, accountId, msgColumn, pageNum + "", pageSize + "");
//
//    }
//
//    public void queryUserMsgInfo(String accessToken, String accountId, String rowkey, RequestListener requestListener) {
//        QueryUserMsgInfoTask queryUserMsgInfoTask = new QueryUserMsgInfoTask(requestListener);
//        queryUserMsgInfoTask.execute(accessToken, accountId, rowkey);
//
//    }
//    public void cleanUserMsgAll(String accessToken, String teacherId, String column, RequestListener requestListener) {
//        CleanUserMsgAllTask cleanUserMsgTask = new CleanUserMsgAllTask(requestListener);
//        cleanUserMsgTask.execute(accessToken, teacherId, column);
//
//    }
//    public void cleanUserMsgInfo(String accessToken, String accountId, String[] rowkey, RequestListener requestListener) {
//        CleanUserMsgTask cleanUserMsgTask = new CleanUserMsgTask(requestListener);
//        rowkeys = rowkey;
//        cleanUserMsgTask.execute(accessToken, accountId);
//    }
//    public void queryIsexistNewUserMsgInfo(String accessToken, String accountId, String msgColumn, RequestListener requestListener) {
//        QueryIsexistNewUserMsgTask queryIsexistNewUserMsgTask = new QueryIsexistNewUserMsgTask(requestListener);
//        queryIsexistNewUserMsgTask.execute(accessToken, accountId, msgColumn);
//    }
//
//    public void stopRunningTasks() {
//        if (runningTasks.size() > 0) {
//            AsyncTaskCancel.cancel(runningTasks);
//        }
//    }
//
//}